Network video unit

ABSTRACT

Providing content to content receiving devices, such as digital video recorders, connected to a computer network through a content provider is described. According to one aspect, a server maintains a database correlating contact information to content receiving devices in its network. A user navigates to a web site of the content provider and selects a piece of content, which prompts the content provider to query the server for the contact information, and then transmit a request to download the piece of content to the content receiving device. The request can be a set of content identification information that automatically populates a content guide at the receiving device with an entry corresponding to the requested piece of content. This entry allows the user to confirm, interrupt, resume and cancel a download of the content as desired.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 10/215,904 filed on Aug. 9, 2002, which issued onOct. 28, 2014 as U.S. Pat. No. 8,875,198, and which is incorporated byreference herein in its entirety. U.S. patent application Ser. No.10/215,904 claims priority under 35 U.S.C. §119(e) to U.S. ProvisionalApplication No. 60/313,718, filed Aug. 19, 2001 and entitled “NetworkVideo Unit,” which is incorporated by reference herein in its entirety.

This application is related to (i) application Ser. No. 10/124,064,filed on Apr. 16, 2002 and entitled “Resolving Recording Conflicts”which issued on Mar. 29, 2011 as U.S. Pat. No. 7,917,008, (ii)application Ser. No. 10/124,190, filed on Apr. 16, 2002 and entitled“Accessing Programs Using Networked Digital Video Recording Devices”(iii) application Ser. No. 10/124,506, filed on Apr. 16, 2002 andentitled “Improved Guide Content Management.” and (iv) application Ser.No. 10/124,583, filed on Apr. 16, 2002 and entitled “Methods andApparatus for Sending Content between Client Devices” which issued onJul. 3, 2012 as U.S. Pat. No. 8,214,422, each of which is incorporatedby reference herein in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This application relates generally to digital content recording, andmore particularly to systems, methods and apparatus in which a contentprovider transmits content to receiving terminals through a computernetwork.

2. Description of the Related Art

Technologies for distributing content such as videos and music through acomputer network have begun to proliferate. One example of a system thatallows users to access and provide audio content operates in an Internetenvironment and implements a directory file server. There, a user of aclient device searches among titles found in a directory. The userselects discovered titles, and the server brokers the downloading of aselected title to the client device from another client device connectedto the server. In this arrangement, the users of the storing and seekingdevices are typically unknown to each other, connected only by thecommonality that one user has a piece of content that the otherdiscovered from the server directory.

One problem with this type of system is that a user must generallysearch a directory in order to obtain content. The source of the contenttypically remains anonymous to the receiving party, and thus reliabilityand quality of the content are generally unpredictable. Users thereforerely upon trial and error to acquire a satisfactory targeted piece ofcontent. Finally, some directory file server based systems allowunfettered copying of content among anonymous parties. Accordingly, thedirectory file server based system for obtaining content remainsundesirable in many aspects.

Conventional content distribution systems are also poorly defined anddifficult to use. While a user may be very familiar with navigatingamong available broadcast content through a programming guide or thelike, finding content through a computer network can be difficult.General searches for content using search engines or other conventionalvehicles produces results that are of unknown origin. Additionally,search results and corresponding selections can be difficult for theuser to manage. Finally, the quality of recordings, the legitimacy ofthe distribution network and the corresponding recordings, and otheraspects of these systems may be lacking.

Furthermore, systems that allow content providers to distribute contentto a group of users having similar devices have traditionally beeneither overly or inadequately restrictive as to the sources of content.Specifically, some systems allow any provider of a particular format toprovide content to users, whereas others require users to use aninflexible, fixed set of providers.

What is needed is a flexible content distribution system that allowsusers to readily connect with a modifiable yet controllable set ofcontent providers. Further needed is content distribution thatcoherently and conveniently conveys the availability of content on auser's device.

SUMMARY OF THE INVENTION

The present invention allows a content provider to provide content tocontent playing devices through a computer network in a manageable andcoherent manner, and allows centralized control over the set ofavailable content providers, with the ability to flexibly update the setof approved content providers.

Although a digital video recorder (DVR) is a preferred content playingdevice, the present invention is not necessarily limited to DVRs, anduse of the term DVR for ease of description should not be interpreted asa limitation on application of the present invention.

The DVR can be used to browse and select video content from a web site,which is subsequently downloaded to the DVR. The downloaded content canbe selected for viewing based upon selection from a guide that alsodisplays traditionally available broadcast content. Alternatively, auser may hold an account or may otherwise interact with a contentprovider from which selections are made, upon which the selected contentis downloaded to the DVR. For example, a user may operate a personalcomputer to navigate to a content provider website. They could then makecontent selections that would be downloaded to their DVR.

According to one aspect, a server maintains a database correlatingcontact information to DVRs in its network. An example of the contactinformation is the IP address and port through which the DVR can receivecontent. A DVR will have a unique identifier, and the server associatesthe contact information to the DVR using the identifier.

The identifier for a user's DVR is also provided to the content providerthrough a registration process or the like. A user can subsequentlynavigate to the content provider's web site, provide login information,and select a piece of content. The content provider uses the identifierthat was obtained during registration to query the server for currentcontact information for the DVR. The server then examines its databaseand returns contact information specific to the particular DVR. Thecontent provider and DVR then communicate to schedule a downloading ofthe piece of content, and the piece of content is transmitted to the DVRaccording to the determined schedule.

According to another aspect, the content provider transmits a set ofcontent identification information that automatically populates acontent guide at the receiving device with an entry corresponding to therequested piece of content. The entry can also be categorized under alabel corresponding to the content provider, which allows efficientorganization of the user's various available content. The entry alsoallows the user to confirm, interrupt, resume and cancel a download ofthe content as desired.

According to still another aspect, a server automatically updatesnumerous content receiving units to which it is connected with thelabels of approved content providers and thereby manages the addition ofnew content providers and the corresponding content guide updates. Oncea unit is updated, its content guide will reflect the new contentprovider in a specified category, and will allow the user to navigateamong content available at the new content provider and select suchcontent for downloading as described.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other more detailed and specific features of embodiments ofthe present invention are more fully disclosed in the followingspecification, reference being had to the accompanying drawings, inwhich:

FIG. 1 is a block diagram illustrating an embodiment of a digital videorecorder (DVR) configured to include content distribution management inaccordance with the present invention.

FIG. 2 is a schematic diagram illustrating such a DVR connected in ahome network environment.

FIGS. 3A-3B are schematic diagrams illustrating examples of systems inwhich content distribution management operates in accordance with thepresent invention.

FIG. 4 is a block diagram illustrating an embodiment of a DVR contentdistribution management module in accordance with the present invention.

FIG. 5 is a block diagram illustrating an embodiment of a VRS contentdistribution management module in accordance with the present invention.

FIG. 6 is a block diagram illustrating an embodiment of a CP contentdistribution management module in accordance with the present invention.

FIG. 7A is a flow diagram illustrating an embodiment of distributing apiece of content to a DVR through an online content provider.

FIG. 7B is a flow diagram illustrating an embodiment of distributing apiece of content to a DVR through an online content provider thatinvokes a content server to complete a download.

FIG. 8 is a flow diagram illustrating an embodiment of managing contentproviders and corresponding content distribution in accordance with thepresent invention.

FIGS. 9A-9B are flow diagrams illustrating an embodiment of a contentguide having content distribution features in accordance with thepresent invention.

DETAILED DESCRIPTION OF THE INVENTION

In the following description, for purposes of explanation, numerousdetails are set forth, such as flowcharts and system configurations, inorder to provide an understanding of one or more embodiments of thepresent invention. However, it is and will be apparent to one skilled inthe art that these specific details are not required in order topractice the present invention. Thus, for example, although a DVR havingparticular features is described in connection with a preferredembodiment, the present invention is equally applicable to other devicesand environments, including but not limited to any network enableddevice.

The block diagram of FIG. 1 illustrates a DVR 100 configured to includecontent distribution management in accordance with the presentinvention. The DVR 100 includes an AV input module 102, CPU 104, memory106, AV output module 108, data storage 110, modem 112 and networkinterface 114 interconnected by a conventional bus architecture.Generally, the CPU 104 executes instructions such as those stored inmemory 108 to provide functionality including that provided by certainembodiments of the present invention. Additional memory such as ROMand/or EEPROM (not shown) may store instructions for boot up sequences,DVR functionality updates, or other information. The network interface114 is conventional and preferably allows connection to an Ethernetbased network. This connection may be used to connect to a home networkand in turn a broadband connection to a WAN such as the Internet or anyof various alternative broadband connections. In addition to traditionalbroadcast and other input AV signals, the broadband connection may alsosource content that is shown and recorded in accordance with the presentinvention. Although broadband is preferred for distribution of content,“dial-up” connections using the modem 112 and telephone line can also beused.

The user controls the operation of the DVR 100 through control signalsinitiated from the exterior of the DVR 100 housing through the panelinterface 132, or through control signals originating from a remotecontrol, which are received through the remote signals interface 134, inconventional fashion.

The AV input module 102 receives input through various conventionalinterfaces, including coaxial RF/Ant, S-Video, network interfaces, andothers, which need not be shown for an understanding of this invention.The received signals can originate from standard NTSC broadcast, highdefinition (HDTV) broadcast, standard cable, digital cable, satellite,Internet, or other sources, with the AV input module 102 beingconfigured to include appropriate conventional tuning and/or decodingfunctionality. The DVR 100 may also receive input from otherintermediary devices, such as a set top box that receives one signalformat and outputs an NTSC signal or some other conventional format.

The AV input module 102 also preferably includes one or more MPEGencoding modules that convert signals from a first format (e.g. analogNTSC format) into an MPEG format (e.g. MPEG 2, etc.) that may be storedin the memory 108 or data storage 110 medium such as a hard disk. Wherenecessary, an inbound signal may be converted to an intermediate formatprior to MPEG encoding. For example, a digital signal may beintermediately converted to an NTSC signal that is ultimately MPEGencoded. The artisan will recognize the alternatives. Typically, contentcorresponding to the formatted data stored in the data storage medium110 may be viewed immediately, or at a later time. Additionalinformation may be stored in association with the MPEG data to manageand identify the stored programs.

The AV output module 108 further includes a graphics module 122, videodecoder 124 and audio decoder 126. The video decoder 124 and audiodecoder 126 are preferably MPEG decoders that can obtain the MPEG datastored in the data storage medium 110 and convert it to formatcompatible with the display device, typically the NTSC format that canbe readily received by a conventional television set. The graphicsmodule 122 receives various guide and control information and providessignals for corresponding displays, outputting them in a compatibleformat.

The DVR 100 processes guide information that describes and allowsnavigation among content receivable by a system (e.g. the broadcastsystem) at present or future times, as well as content that has alreadybeen captured by the DVR 100. Guides that display such information maygenerally be referred to as content guides. These content guides includechannel guides and playback guides. A channel guide displays availablecontent from which individual pieces of content may be selected forcurrent or future recording and viewing. In a specific case, the channelguide lists numerous broadcast television programs, from which the usermakes selections for recording. The playback guide displays content thatis stored or immediately storable by the DVR 100. Other terminology maybe used for the guides. For example, they may be referred to asprogramming guides. The term content guide is intended to cover all ofthese alternatives.

Content guides are variously navigable using conventional (e.g., remote)control signals, including those that provide directional navigation,such as by arrows or trackball, joystick or the like, and correspondingselection. In certain modes, selection of an entry is accomplished bymerely navigating to the entry. In other modes, selection followspressing a separate control button or the same control that was used fordirectional navigation. The various alternatives for navigating thecontent guide will be readily recognized by the ordinarily skilledartisan.

The DVR 100 may also be referred to as a Personal Video Recorder (PVR).One example of a DVR 100 configurable to incorporate embodiments of thepresent invention is the ReplayTV brand of DVRs provided by SONICblueIncorporated, a Santa Clara, Calif. company. A Replay Guide is anexample of a playback guide implemented by ReplayTV DVRs.

Although certain modular components of a DVR 100 are shown in FIG. 1,the present invention also contemplates and encompasses units havingdifferent features. For example, some devices may omit features such asthe telephone line modem, instead using alternative conduits to acquireguide data or other information used in practicing the presentinvention. Additionally, some devices may add features such as aconditional access module (CAM), such as one implementing smart cardtechnology, which may work in conjunction with certain content providersor broadcasters to restrict access to content.

Additionally, although this embodiment and other embodiments of thepresent invention are described in connection with a DVR or PVR, theinvention is equally applicable to other devices including but notlimited to a set top box (STB), cable STB, satellite STB, or televisionscontaining modules with similar functionality.

The DVR memory 106 is configured to include conventional Internetbrowsing capabilities. For example, the browsing capabilities may becomparable to those provided by Internet Explorer, as provided byMicrosoft, Inc. of Redmond Wash. The memory 106 is also configured toinclude an embodiment of a content distribution management module (CDMM)140. The user operates the DVR 100 to browse content available fromonline content providers. In order to select content from a web site theuser must first provide the content provider with information specificto their DVR 100, including a unique identifier known as the ISN(Internet Serial Number). For example, the user enters this informationwhen they register with the content provider. The content providerstores the unique identifier for each user that registers and uses it toobtain ‘contact’ information such as the IP address and port of thespecific DVR 100 when it wishes to schedule content for download. Withthe contact information, the content provider can communicate, to theDVR, information pertaining to content that it wishes to be downloaded.One way that the content provider obtains the contact information is toquery a server having the information using the ISN, whereupon thecontact information is returned. In this embodiment, the DVR 100 mayperiodically report its contact information to the server that maintainsthe contact information.

After the user's selection of a piece of content, the CDMM 140 receivesa request to schedule the downloading of the piece of content to the DVR100. The announcement of the available piece of content preferablyidentifies the content and indicates the amount of storage space that itwill require. The CDMM 140 responds to the announcement by allocatingstorage space for the download and where appropriate scheduling thedownload. The CDMM 140 downloads the piece of content from a specifiedlocation and provides status feedback to the content provider throughcompletion of the download.

The CDMM 140 also automatically populates the DVR 100 content guide withinformation about the selected piece of content once the user selectsit. The populated content guide is preferably the same content guidethat is used to display recorded broadcast programs and the like thatare otherwise selectable and viewable through the DVR 100. A furtherpreferred content guide includes concurrently displayed category andcontent areas. The category area displays a list of categories.Selection of a category updates the content area to list programs orother pieces of content pertaining to the category. Thus, selection of a“Sports” category updates the content area to display a list of sportsprograms available for viewing. Preferably a category corresponding tothe content provider is provided and included in the list of categories.A preferred category label is the name of the content provider, but itcan be a logo or other symbolic or alphanumeric representation as well.Automatic population of the guide provides an entry in the content guidethat is displayed in the guide's content area when the “contentprovider” category is selected.

The DVR 100, configured to include the CDMM 140, preferably also allowsvarious operations on an entry once it resides in the content guide,such as suspending or resuming a download of the piece of content,playing the piece of content for viewing, or deleting the piece ofcontent from the content guide.

The CDMM 140 also includes instructions that allow the content guidecategories to be updated through a network connection to a server. Thus,a server can maintain a list of approved content providers, and categorylabels for the approved content providers can be periodically downloadedto DVRs 100 that are in network communication with the server.Preferably, push or other conventional technologies are used toautomatically update the DVR 100 content guides to include the newcategory label. This allows centralization of content provider approval,and is very user friendly, as the new category will simply appear in theuser's guide without requiring the user to go through a complex set ofoperations to update the guide to include a newly approved provider.

In an alternative to the above, a DVR guide can be automaticallypopulated with entries from which content can be selected. The entriesmay respectively appear under a series of particular content providers,and may also be otherwise organized, such as by genre and type. Forexample, if a user registers with a particular content provider, thatcontent provider may provide the information about available downloadsto the DVR automatically without requiring the DVR user to navigate tothe content provider to browse a full listing of available titles.

In either alternative, when a piece of content is selected from theguide, the content provider preferably queries the server having thecurrent contact information for the DVR, and then provides the DVR withinformation regarding the content to be downloaded. This information mayinclude download priority preferences that the DVR uses to schedule thedownload of content. The DVR subsequently downloads the selected contentand stores it for playback, with the guide preferably updating toindicate immediate availability.

The schematic diagram of FIG. 2 illustrates an example of a home networkbased system 200 in which embodiments of the present invention mayoperate. Various devices including a number of DVRs 216, 218, 236, 238and PCs 220, 222, 240 communicate with a video replay server (VRS) 250or each other using the wide area network. Home network system 210 isshown to include a broadband interface 212 and a router 214, throughwhich two DVRs 216, 218 and two PCs 220, 222 connect to other devices onthe wide area network, such as the VRS 250. Preferably, the wide areanetwork is the Internet. The broadband interface 212 may be aconventional digital subscriber line (DSL) modem, cable modem, or anydevice providing an interface between the home network and a broadbandconnection, including wired, wireless and any alternative broadbandconnections. Additional equipment, such as conventional DSL CentralOffice equipment that interfaces standard twisted pair lines coming fromthe DSL modem and the Internet is also typically present but need not beshown for an understanding of the invention.

The router 214 acts as a firewall between the devices 216-222 within thehome network 210 and other devices potentially connecting with thosedevices through the Internet. Logical ports 224 a-d are assigned forcertain Internet communications made between the devices 216-222 andother devices outside the home network 210. These logical ports act as abarrier to certain file transfers. Similar to home network 210, theother shown home network 230 includes a broadband interface 232 androuter 234 through which client devices 236-240 may connect to theInternet, using logical ports 244 a-c.

The VRS 250 maintains contact information, including the networkaddresses and port information for devices. Preferably the DVRsperiodically and automatically report their contact information to the‘VRS 250. This allows online content providers to query the VRS 250 forsuch information, which is then used to complete content downloads. Thisfeature is described further in connection with FIGS. 4-6, below.

FIGS. 3A-3B are schematic diagrams illustrating examples of systems 300a, 300 b in which content distribution management operates in accordancewith the present invention. Particularly, a DVR 100, VRS 310, and CP 330are connected to a Wide Area Network such as the Internet. As described,a user operates the DVR 100 to browse content listings provided by thecontent provider (CP) 330. The user may select the content directly froma content guide on the DVR 100, or via a browser on the DVR 100 or otherbrowser-enabled device such as a PC. The CP 330 receives a request for apiece of content, and then uses an identifier to query the VRS 310 forcontact information relevant to the requesting DVR 100. The contactinformation is then used to report the availability of the piece ofcontent to the DVR 100 and to schedule a transmission of the content,preferably via download, alternatively via streaming or other processes,to the DVR 100. The download may be directly from the CP 330 to the DVR100, as shown in the system 300 a of FIG. 3A, or through a separatecontent server (CS) 340, as shown in the system 300 b of FIG. 3B. TheDVR 100, CP 330 and VRS 310 respectively include content distributionmanagement modules 400, 500, 600 that facilitate providing content inaccordance with the present invention, as described further below, inconnection with FIGS. 4-6.

FIG. 4 is a block diagram illustrating an embodiment of a DVR CDMM 400.The CDMM 400 includes a guide management module 402, an addressmanagement module 414 and a content transfer module 416.

Generally, the guide management module 402 provides content guides andcorresponding displays, and identifies categories and content to beincluded in those guides. The guide module 404 provides the contentguide format including the previously introduced content and categoryareas, as well as the functionality of navigating the various areas. Thechannel guide module 404 and the playback guide module 406 respectivelyprovide the remainder of the channel and playback types of contentguides. Particularly, the channel guide includes programs that are orwill become available for recording, and the playback guide includesprograms that have been recorded or have been selected for recording.The display diagrams of FIGS. 9A-B, described below, are examples of acontent guide provided by the guide management module 402.

The categories module 410 retains the list of available categories.Preferably, a number of default and custom user categories are provided.Examples of default categories are Family, Kids, Movies, News, Sports,and TV Shows. The custom categories can be named by the user, or can beautomatically provided, such as through VRS driven updates providedthrough a network or phone based modem connection. Among the customcategory names are those of approved content providers. Of course, somepreviously approved content providers can appear among the original“default” category listings. The ordinarily skilled artisan will readilyrecognize the alternatives, including the number of overall and defaultcategories. The categories module 410 also provides interfaces forintroducing the names of new categories.

The content identification module 412 includes routines for identifyingprograms and providing corresponding interfaces. Preferably the contentidentification module identifies programs to be recorded and providesinterfaces for assigning the recorded programs to a selected category.The user may navigate a channel guide to identify a program forrecording or may navigate to the content provider to see a listing ofprograms. The content identification module 412 preferably invokes thebrowser to facilitate navigation to the web site of the online contentprovider. A conventional HTML based link that automatically navigates toan approved content provider may also be provided. These links can beprovided in a screen that is separate from the content guides.Alternatively, the content provider label in a category listing in aPlayback guide may be associated with an URL such that selecting thelabel automatically navigates to the content provider web site.

The address management module 414 maintains a unit identifier, networkIP address and port information for the DVR 100 and includesinstructions for periodically reporting the network address and portinformation to the VRS. The address management module 414 also includesroutines for allowing the DVR 100 to communicate with and identify otherDVRs and may also include an address book module (not shown) to displayaddress book based information about other DVRs and their users.

Finally, the content transfer module 416 generally includes routines fortransferring content and, particularly, receiving content from onlinecontent providers directly or through related fulfillment servers. Thecontent transfer module 416 includes an acceptance module 418 havingroutines for responding to the indication of available content. Theresponse includes an allocation of storage for the incoming content,which can be an examination of the space available on the hard disk, anda scheduling of a download where the content is coming from an onlineprovider. The transfer module 420 has routines for actually transferringor receiving the content into the DVR 100. Particularly, when a userrequests a piece of content from the content provider, the contentprovider responds by sending a set of information to update the user'scontent guide to include an entry for the requested content, and sends atransfer request that prompts automatic allocation and scheduling of adownload if space is available. Conventional file transfer technologiessuch as the File Transfer Protocol (FTP), HyperText Transfer Protocol(HTTP) and others can be used to effectuate the transfer.

FIG. 5 illustrates an embodiment of a VRS CDMM 500 configured inaccordance with the present invention. The VRS CDMM 500 includes anetwork address identification module 502 that identifies DVRs overwhich it has jurisdiction (e.g., those on its network segment or thelike) and maintains contact information such as the network IP addressand port information for the identified units. The network addressidentification module has routines for receiving reports from the DVRsregarding such information. The DVRs communicate with the VRS using HTTPor other conventional protocols, which prompts the VRS to update thecontact information. Similarly, the CP can query the VRS through an HTTPconnection to obtain contact information for a DVR whose user hasrequested a piece of content. Communications between the VRS, CP and DVRcan also implement a secure protocol such as SSL.

The VRS CDMM 500 further includes a content provider management module504 that includes a CP registration module 506, CP identification module508 and CP reporting module 510. The CP registration module 506 includesinstructions for allowing content providers to register and seekapproval for providing content to DVRs associated with the VRS.Conventional menus are used to gather the information from arepresentative of the content provider. Various approval schemes can beimplemented, ranging from automatic approval to one that requires aformal review process. The content provider will preferably provide alabel under which their content will be categorized, which is referredto as CP_Name below. The CP identification module 508 retains a list ofapproved content providers and information about the approved contentproviders including a corresponding URL used to connect with a web siteof the content provider and the content label. Periodically, the CPreporting module 510 updates the content provider list for itsassociated DVRs by reporting a new list of approved content providersand their corresponding labels and URLs. Conventional techniques,including a push technique wherein the DVRs actually implement an HTTPbased request for the information, can be used to effectuate the update.The DVR CDMM includes routines to update the guide and otherfunctionality of the DVR to adopt the new content providers, aspreviously described.

Although one embodiment of a VRS CDMM 500 is described, there may bealternatives, and equivalent functionality may be provided through moreor less modules than those shown. Additionally, two modules shown on one“server” may equally reside on separate servers. For example, althoughthe network address module and the content provider management moduleare shown to reside on the same server, they can be provided on separateservers and do not necessarily need to be part of the same system. Thismay in fact be desired, as the content provider management module mightbe desirably inaccessible by third parties, whereas the network addressmodule should be accessible so that contact information can bedistributed as needed.

The block diagram of FIG. 6 illustrates an embodiment of a CP CDMM 600configured in accordance with the present invention. The CP CDMM 600includes a registration module 602, a delivery information acquisitionmodule 604, a content identification module 606 and a downloadfulfillment module 608. The registration module 602 includesinstructions for interfacing with new users to obtain their registrationinformation, approving such new users, and managing a database ofapproved users. For example, when a DVR user navigates to the CP website corresponding to the hyperlink found in the DVR for the first time,they are provided with a registration interface that collectsinformation about the user. Various types of information andcorresponding information management strategies can be provided, butpreferably the Internet Serial Number (ISN) and Serial Number (SN) foundon a label on the outside of the DVR housing are collected in oneembodiment. Preferably the ISN is the identifier to which the contactinformation maintained by the VRS is indexed. Requesting the SN providesadded security, as it is typically known only by reading a label foundon the back of the DVR unit. It may be preferable for security purposesto have the user manually enter information such as the SN. However,particularly where the user is accessing the content provider web sitevia the DVR, the DVR can also be programmed to automatically completethe required fields with the ISN and SN information, easing theinformation entry burden on the user.

A registered user can logon to the CP web site using conventionalapproaches, including those that automatically identify the user, suchas through cookies or the like. The user then navigates among availablecontent and select various pieces that they would like to download orotherwise transmit to their DVR. The content identification module 606tracks the selected pieces of content and packages contentidentification information for such content using a format that isrecognized by the DVR. Preferably, the content identificationinformation conforms to a meta-data format that is also used tootherwise populate the DVR content guides, as is described furtherbelow.

The delivery information acquisition module 604 includes instructionsfor obtaining the network address and port information for a DVRrequesting content. Preferably, the ISN for the DVR is reported to theVRS, which returns the current network address and port for the DVR.

Finally, the download fulfillment module 608 includes instructions thatallow the DVR to schedule a download of a selected piece of content fromthe CP to the DVR. This may include receiving a request to downloadcontent from the DVR, communicating with the DVR to schedule thedownload, and transmitting the piece of content from the CP to thereceiving DVR. The CP may store the piece of content and send itdirectly to the DVR using a conventional file transfer technique such asHTTP or FTP or may utilize a secure protocol such as SSL. Alternatively,the CP works in conjunction with a fulfillment site or content server(CS) (also known as Content Delivery Networks (CDN)) such as provided byspeedera.com, akamai.com, or others.

The flow diagram of FIG. 7A illustrates an embodiment of providing apiece of content to a receiving device in accordance with the presentinvention. Particularly, an example of the interaction between the DVR,VRS and CP for sending content from the CP to the DVR is shown. The DVRtransmits 702 its ISN and SN to the CP. The information is preferablyprovided during a registration process and the system can be configuredto require input of the ISN and SN information only during registration.The CP then retains the ISN and SN information for the registered DVR,and retrieves the information as needed, such as upon completion of aconventional login procedure by the user (which could be through theirDVR, or a separate browser-enabled PC, etc.). Thus, content distributionprocedures may not require step 702, particularly after registration.

The DVR also periodically sends its contact information to the VRS. Thiscontact information preferably includes the network address and portinformation usable to communicate with the DVR. The VRS maintains anassociation between the DVR (e.g., using the ISN) and its currentcontact information. At some point, the DVR transmits a request 704 fora piece of content to the CP. For example, the DVR user implements itsbrowsing functionality to navigate among video programs available fromthe CP web site and selects one or more pieces of content throughconventional interfaces. Alternatively, as mentioned above, the requestfor a piece of content may be originated by other devices, for apreviously registered DVR. Specifically, a user can register their DVR,and then subsequently use a PC or other device to access the CP, loginusing the account information corresponding to the DVR, and makerequests for content to be distributed to the DVR, even if they are awayfrom home. Thus, the request 704 need not always be undertaken by theDVR.

After the request for a piece of content is received, the CP obtainscontact information for the DVR by transmitting 706 the DVR ISN to theVRS, which queries its database indexing the, ISN to the relevantcontact information. The contact information (e.g., IP address, port) isthen transmitted 708 to the CP.

The CP next transmits 710 a request to download the piece of content tothe DVR along with information that updates the content guide to reflecta new entry. This request can be referred to as a notification that thecontent is available for download. Preferably, the notificationidentifies the content provider, identifies the piece of content, andprovides meta-data in a format that is recognized by the DVR contentguide module. The notification can be conveyed using a conventional HTTPquery to notify that the piece of content (e.g., a film) is availablefor download, with a response from the DVR confirming receipt of thenotification, or a parsing or transfer error in conventional fashion. Anexample of the notification data includes administration data such asthe version number of the data format, the unique content provider ID(CP_ID) for the content provider, an URL used for transaction status,the serial number of the receiving unit, a transaction ID, and the URLindicating the location of the content. The notification data alsopreferably includes meta data used to populate fields in the DVR contentguide. An example of a format for the meta data includes the followingfields: title=“[title]”, filedurationinseconds=“[value in seconds]”,episodetitle=“[name of episode]”, description=“[textual description ofepisode]”, actors=“[list of actors]”, director=“[director's name]”,yearmade=“[date]”. The various fields have corresponding values orinformation as indicated. Some or all of these pieces of information areused to populate corresponding areas of the receiving DVR content guideto allow identification and selection of the content corresponding tothe entry. This is just an example and the ordinarily skilled artisanwill recognize the alternatives.

Since the user has already requested the piece of content, the DVRautomatically determines whether sufficient storage is available for thepiece of content and allocates storage space to prepare for receipt ofthe piece of content. The DVR then communicates with the CP to schedulethe download, and ultimately confirms 712 the scheduled download.Preferably the CP can accommodate a unilateral DVR request to schedulethe download, but an exchange between the two can also be provided todetermine the download schedule. Ultimately, the DVR downloads the pieceof content 714 from the CP (or CS) using FTP, HTTP, SSL or other knownprotocols as described previously. An entry for the piece of contentalso automatically appears in the content guide in association with thecontent provider, as will be described further below in connection withFIGS. 9A-B.

The confirmation and the exchange that ultimately provides the downloadcan be variously implemented. In a preferred example, the CP receives aresponse from the query indicating that the notification had beenreceived successfully, then waits until it receives confirmation thatthe request has been validated, the required amount of disk space hasbeen allocated, and the download has been scheduled. In processing thenotification the DVR automatically queries a CGI (e.g. HTTP post) on theCP server using the content provider URL supplied in the notification,which is used to inform the CP regarding the status of the transaction.The query can provide as information the ISN, transaction ID (to trackthis particular transaction), percentage complete, and status ofdownload (e.g., transaction processed, error, not enough disk space,invalid CP_ID, invalid serial number, download in progress, downloadcomplete, download failure), with a return from the CP indicatingreceipt of the transaction status. In a normal download, the DVR wouldperiodically report that the download was in progress to the CP, withultimate indication that the download was complete. The various errorsand failures could also be reported, with any desired recovery protocol,such as a repeated attempt or the like.

The DVR preferably has autonomy over when the download is actuallyscheduled, and can thus prioritize other tasks and downloads. If noother downloads are currently in progress, the download can beginimmediately. The file or files can also be downloaded in portions orchunks, downloading one portion at a time. There, each portion can beassociated with an URL if desired.

Although the DVR can be used to navigate to the CP website and makecontent selections, upon registering a DVR a user may also use otherdevices to make the selections. For example, in registering their DVR, auser may be given a login name and password that allows them to loginusing any device having a browser (e.g., a PC). This information allowsthe CP to identify the user. As described previously, the CP willalready have collected the ISN and SN information for the user's DVR.Although selections are made with such alternative devices, the contentis still preferably scheduled and delivered to the registered DVR. Thisallows the user to conveniently select content while they are not ableto directly use their DVR. Thus, for example, a user may use their PC atwork to select content to be downloaded to their registered DVR. Thiscould allow them to select content early so that it is available whenthey return home.

Another way that the user may select content is from a pre-loaded guidethat contains a list of content available from one or more contentproviders. In this case, the user would not be accessing the CP websiteonline, as the guide content would already reside on their DVR. Once theuser makes a selection of a piece of content from the guide, the CP isautomatically notified, and then the request is handled as though theuser had selected the content via the web site as described above.

The flow diagram of FIG. 7B illustrates an alternative wherein the DVRuser initially navigates among content available at the CP web site,with the download being fulfilled by a separate content server (CS). Inthis embodiment, steps 702-710 are the same as described in FIG. 7Aabove. The DVR receives the location (URL) and size (in bytes) of thecontent in the 710 [Download Request] message. If sufficient space onthe disk can be allocated then the DVR sends the 712 [Confirm Download]and queues the content for download. When the DVR starts the download itrequests chunks of the file using standard HTTP protocols and thelocation URL, from the CS, until the entire file has been downloaded(iterations of steps 716 and 718). The DVR reports 720 the status of thedownload to the CP so that the download can be monitored and logged forbilling and the like upon completion. FIG. 7B represents onealternative. The ordinarily skilled artisan will recognize others.

FIG. 8 illustrates an embodiment of reporting approved content providersto content receiving devices through a computer network, in accord withthe present invention. The CP initially requests 802 approval to becomea new CP, such as by contacting the VRS through the Internet andcompleting an online registration form. The request can then be reviewedand, if acceptable, approved 804 by the VRS or corresponding entity,whereupon a guide entry corresponding to the CP is generated andmaintained at the VRS. Preferably, the VRS provides a unique ID numberfor the CP (CP_ID) as well as a label for the CP, which will appear as acategory in the DVR content guide. The label can be one that is enteredby the CP during registration, so that the CP can control the labelunder which content will be available. Multiple CP labels can beassociated to a single CP as well, if desired.

The VRS transmits 806 the ID number to the CP along with notice of theapproval and other information useful in prepping content fordistribution in the system. For example, the VRS may provide softwareand instructions that allows the CP to prepare content descriptions andautomatically populate DVR content guides with content identificationinformation once content is selected by a DVR user. The CP may alsoreceive instructions regarding the preparation of content according to aparticular format so that the distributed content will be readilyrecognized by the receiving DVRs. This may be in the form of softwarethat is analogous to that used in the DVR for converting content intothe format used by the DVR. Alternatively, pre-prepped content may beprovided to approved CPs.

Periodically, the VRS also transmits 808 content provider updates to itsassociated DVRs. Preferably, the VRS transmits a new CP_Id andcorresponding label CP_Name to the DVRs, which then update their contentguides to include the new entries. Alternatively, the content providercan be added to a list from which the user may easily make selections inadding active categories to their content guide. In one embodiment, a“Tier 1” CP automatically appears in the guide, and “Tier 2” CPs can beadded to the guide, by the user, by selection from a list of Tier 2providers. Once the CP is set up as an approved provider, the user mayrequest content 810, which causes the DVR content guide to be updated812, and corresponding download scheduling 814 and transfer of thecontent 816 as described in connection with FIGS. 7A and 7B. Aftercompletion of the download is reported 818, the CP could transmit 820information to the VRS to log and report the completed download,although this feature may preferably be omitted for privacy reasons.

The display diagrams of FIGS. 9A and 9B illustrate an example of acontent guide that works in conjunction with content distribution asdescribed above. More specifically, the content guide 900 a is aplayback guide (e.g., a Replay Guide) that displays content that hasbeen recorded or has been selected for recording. The content guide 900a includes a header 902, a heads up display (HUD) 904, a categories areawith several category listings 906 a-e, and a content area with severallisted programs 908 a-f.

The header area 902 displays a currently selected category. Here, theselected category is for an approved content provider, designated by thelabel “CP_Name”. A content provider maintains databases of content andmakes them available for distribution to users, and is not necessarilythe owner of the content. The content area lists the available programsin the selected category, including the shown entries 908 a-f. While inthe content area, the user navigates among the available programs usingconventional remote control and display signals such as a cursor thatmoves in response to directional commands and that either automaticallyselects the underlying entry or does so in response to a selectionsignal (e.g., a conventional joystick device provides variousdirectional commands and is pressed to “select” a currently highlightedarea). The list of programs may exceed the number that can be shown inthe content area. Downward cursor navigation beyond the lowermost entry908 f causes un-displayed entries to appear, unless the entry is thelast in the category. The HUD 904 displays additional informationregarding a currently selected entry. Here, it displays recordingquality and other information about the current program for entry 908 a,“Red Dog Rising.”

Navigation of the categories area allows selection of a new category anda corresponding update of the listed programs. This allows other typesof programming to be previewed along with that selected or downloadedfrom the content provider. For example, FIG. 9A illustrates thealternatives “Movies” 906 c, “Sitcoms” 906 d, and “Sports” 906 e, whicheach categorize a corresponding set of broadcast programming, and thealternative “Downloads” 906 b categorizes content that is available ordownloaded from other DVR users. The user navigates among the categories906 a-e to update the content area to show the correspondingprogramming. Additional categories beyond those shown may be provided,so the categories area 906 a-e is scrollable to allow their display.Thus, new categories will appear when the cursor is navigated to theleft of “CP_Name” 906 a, or to the right of “Sports” 906 e.

As introduced above, the content guide is automatically populated withentries corresponding to entries selected from the content provider website. Here the user has selected the pieces of content corresponding toentries 908 a-f in the content area. As a basis for automaticallypopulating the content guide, the content provider implements a metadata format that is recognized by the DVR, preferably the same meta dataformat used to display the other content available in the content guide.Additionally, the DVR has preferably been updated by the VRS torecognize the content provider, and to provide a unique guide entrycorresponding to the content provider. As indicated above, a preferredmeta data format includes the fields: title=“[tille]”,filedurationinseconds=“[value in seconds]”, episodetitle=“[name ofepisode]”, description=“[textual description of episode]”, actors=“[listof actors]”, director=“[director's name]”, yearmade=“[date]”,quality=“[quality tag (e.g. standard)].” The meta data format isrecognized by and thus allows the unit to populate the entry in thecontent area, the HUD and other areas of the guide. Additionally, theCP_ID, provided in the notification regarding a download, is used toautomatically categorize the content under the category corresponding tothe content provider, with the CP_ID being mapped to the label appearingfor the content provider in the content guide.

Selected content is scheduled for transfer to the DVR. FIG. 9Billustrates the content guide 900 b updated to reflect the status of thetransfer. Particularly, the short description for a program will behighlighted to visually reflect the status. For example, the entries 908a-c have been completely downloaded, and thus the entire display barcorresponding to their descriptions is highlighted. Additionally, theprograms described as “Bowling Highlights” and “Dogs in Space” arerespectively shown to have been partially downloaded, as indicated bythe highlighted portions 912 a, 914 a and corresponding non-highlightedportion 912 b, 914 b. Preferably, the proportion of highlightingcorresponds to the fractional amount of the piece of content that hasbeen downloaded, and highlighting is in the form of a color thatdistinguishes “available” portions of content that have already beenreceived from portions that have not yet been received.

The user can also navigate to entries in the content guide 900 b andperform various playback and download management operations. Forexample, the user may highlight a program that has at least beenpartially transferred to the DVR and select various conventionalplayback operational commands. Additionally, the user can confirm adownload that has been tentatively scheduled, interrupt a download inprogress, resume an interrupted download, or cancel a download of thecontent as desired. These playback and download management operationsare preferably facilitated by conventional pop up menus that overlay thecontent guide and display buttons corresponding to the operations. Thus,the user can easily manage the content that they have selected from theapproved content provider.

Thus, embodiments for providing content have been described inaccordance with the present invention. Although the present inventionhas been described in considerable detail with reference to certainembodiments thereof, the invention may be variously embodied withoutdeparting from the spirit or scope of the invention. Therefore, thefollowing claims should not be limited to the description of theembodiments contained herein in any way.

The invention claimed is:
 1. A method comprising: receiving, by acontent provider device, a request transmitted over a wide area networkfrom a browser-enabled device separate from a content player device,wherein the request includes (i) a content selection, and (ii) a loginname and password associated with the content player device;transmitting, by the content provider device to a video replay server,an identifier that uniquely identifies the content player device,wherein the content provider device associates the unique identifierwith the login name and password associated with the content playerdevice; receiving, by the content provider device, contact informationtransmitted over the wide area network from the video replay server inresponse to transmitting the identifier, wherein the contact informationidentifies a network address and port of the content player device; andtransmitting, by the content provider device to the network address andport of the content player device over the wide area network, contentidentified by the content selection.
 2. The method of claim 1, whereinthe content provider device maintains a database of approved users,wherein each approved user in the database is associated with aregistered login name and a registered password and a unique identifierof a respective content player device, and wherein the method furthercomprises: determining, by the content provider device, that the loginname and password included in the request and associated with thecontent player device are valid credentials for a given one of theapproved users in the database; and determining the identifier thatuniquely identifies the content player device to be the uniqueidentifier of the respective content player device associated with thegiven one of the approved users.
 3. The method of claim 2, wherein thecontent provider device enables the approved users in the database toaccess an online website for selection of stored content, and whereinreceiving, by the content provider device, the request transmitted overthe wide area network from the browser-enabled device separate from acontent player device comprises receiving the request from the given oneof the approved users by way of the browser-enabled device while thegiven one of the approved users is not accessing the online website. 4.The method of claim 2, wherein the content provider device enables theapproved users in the database to access an online website for selectionof stored content, and wherein receiving, by the content providerdevice, the request transmitted over the wide area network from thebrowser-enabled device separate from the content player device comprisesreceiving the request from the given one of the approved users by way ofthe browser-enabled device while the given one of the approved users isaccessing the online website.
 5. The method of claim 1, furthercomprising: prior to transmitting the content identified by the contentselection, transmitting, by the content provider device to the contentplayer device, a request to download content identified by the contentselection.
 6. The method of claim 5, wherein the request to download thecontent identified by the content selection includes a notification thatthe content identified by the content selection is available fordownload to the content player device.
 7. The method of claim 1, whereinthe identifier that uniquely identifies the content player devicecomprises an Internet Serial Number and a device Serial Number.
 8. Themethod of claim 1, further comprising: prior to receiving the requesttransmitted over the wide area network from the browser-enabled deviceseparate from the content player device, registering, by the contentprovider device, the content player device with the content providerdevice.
 9. A content provider device comprising: a network interface; aprocessor; and memory storing processor instructions that, when executedby the processor, cause the content provider device to carry outoperations including: receiving a request transmitted over a wide areanetwork from a browser-enabled device separate from a content playerdevice, wherein the request includes (i) a content selection, and (ii) alogin name and password associated with the content player device,transmitting to a video replay server, an identifier that uniquelyidentifies the content player device, wherein the content providerdevice associates the unique identifier with the login name and passwordassociated with the content player device, receiving contact informationtransmitted over the wide area network from the video replay server inresponse to transmitting the identifier, wherein the contact informationidentifies a network address and port of the content player device, andtransmitting to the network address and port of the content playerdevice over the wide area network, content identified by the contentselection.
 10. The content provider device of claim 9, wherein thecontent provider device maintains a database of approved users, whereineach approved user in the database is associated with a registered loginname and a registered password and a unique identifier of a respectivecontent player device, and wherein the operations further include:determining that the login name and password included in the request andassociated with the content player device are valid credentials for agiven one of the approved users in the database; and determining theidentifier that uniquely identifies the content player device to be theunique identifier of the respective content player device associatedwith the given one of the approved users.
 11. The content providerdevice of claim 10, wherein the content provider device enables theapproved users in the database to access an online website for selectionof stored content, and wherein receiving the request transmitted overthe wide area network from the browser-enabled device separate from thecontent player device comprises receiving the request from the given oneof the approved users by way of the browser-enabled device while thegiven one of the approved users is not accessing the online website. 12.The content provider device of claim 9, wherein the operations furtherinclude: prior to transmitting the content identified by the contentselection, transmitting to the content player device, a request todownload content identified by the content selection, wherein therequest to download the content identified by the content selectionincludes a notification that the content identified by the contentselection is available for download to the content player device. 13.The content provider device of claim 9, wherein the identifier thatuniquely identifies the content player device comprises an InternetSerial Number and a device Serial Number.
 14. The content providerdevice of claim 9, wherein the operations further include: prior toreceiving the request transmitted over the wide area network from thebrowser-enabled device separate from the content player device,registering the content player device with the content provider device.15. A non-transitory computer-readable medium having instructions storedthereon that, when executed by a processor of a content provider device,cause the content provider device to perform operations comprising:receiving a request transmitted over a wide area network from abrowser-enabled device separate from a content player device, whereinthe request includes (i) a content selection, and (ii) a login name andpassword associated with the content player device; transmitting to avideo replay server, an identifier that uniquely identifies the contentplayer device, wherein the content provider device associates the uniqueidentifier with the login name and password associated with the contentplayer device; receiving contact information transmitted over the widearea network from the video replay server in response to transmittingthe identifier, wherein the contact information identifies a networkaddress and port of the content player device; and transmitting to thenetwork address and port of the content player device over the wide areanetwork, content identified by the content selection.
 16. Thenon-transitory computer-readable medium of claim 15, wherein the contentprovider device maintains a database of approved users, wherein eachapproved user in the database is associated with a registered login nameand a registered password and a unique identifier of a respectivecontent player device, and wherein the operations further include:determining that the login name and password included in the request andassociated with the content player device are valid credentials for agiven one of the approved users in the database; and determining theidentifier that uniquely identifies the content player device to be theunique identifier of the respective content player device associatedwith the given one of the approved users.
 17. The non-transitorycomputer-readable medium of claim 16, wherein the content providerdevice enables the approved users in the database to access an onlinewebsite for selection of stored content, and wherein receiving therequest transmitted over the wide area network from the browser-enableddevice separate from the content player device comprises receiving therequest from the given one of the approved users by way of thebrowser-enabled device while the given one of the approved users is notaccessing the online website.
 18. The non-transitory computer-readablemedium of claim 15, wherein the operations further include: prior totransmitting the content identified by the content selection,transmitting to the content player device, a request to download contentidentified by the content selection, wherein the request to download thecontent identified by the content selection includes a notification thatthe content identified by the content selection is available fordownload to the content player device.
 19. The non-transitorycomputer-readable medium of claim 15, wherein the identifier thatuniquely identifies the content player device comprises an InternetSerial Number and a device Serial Number.
 20. The non-transitorycomputer-readable medium of claim 15, wherein the operations furtherinclude: prior to receiving the request transmitted over the wide areanetwork from the browser-enabled device separate from the content playerdevice, registering the content player device with the content providerdevice.